Communication control

ABSTRACT

A method of controlling a connection, comprising the steps of forming an indicator at an originating device, transmitting the indicator to an intermediate device, receiving from the intermediate device one or more destination addresses formed on the basis of the indicator, and connecting the originating device to the one or more destination addresses.

FIELD

The present invention relates to communication control in acommunication network.

BACKGROUND

In a communication network, a connection is set up between two parties.If the destination party has changed its fixed location in the network,the original destination party becomes an intermediate party, whichredirects the connection to a new destination party. The intermediateparty remains in the connection chain and data is transferred via theintermediate party.

In some cases it is undesirable that the intermediate party remains inthe connection chain because this allows the intermediate party tocontrol the traffic transmitted between the connected parties.

SUMMARY

In one aspect, there is provided a method of controlling a connection,comprising reading an indicator in an originating device, transmittingthe indicator to an intermediate device, receiving from the intermediatedevice one or more destination addresses formed on the basis of theindicator, and connecting the originating device to the one or moredestination addresses.

In another aspect, there is provided a user device comprising a readingmodule configured to read an indicator, a transmitting unit configuredto transmit the indicator to an intermediate device, a receiving unitconfigured to receive from the intermediate device one or moredestination addresses formed on the basis of the indicator, and aconnecting unit configured to connect the user device to the one or moredestination addresses.

In another aspect, there is provided a network element comprising areceiving unit configured to receive an indicator from a user device, aprocessing unit configured to form one or more destination addresses onthe basis of the indicator, and a transmitting unit configured totransmit the one or more destination addresses to the user device.

DRAWINGS

In the following the invention will be described in greater detail bymeans of preferred embodiments with reference to the attached drawings,in which

FIG. 1 shows an embodiment of a communication network;

FIG. 2 shows an embodiment of a method;

FIG. 3 shows another embodiment of a method;

FIG. 4 shows another embodiment of a communication network.

EMBODIMENTS

FIG. 1 shows on a high level an operation environment of a mobilestation and the way the mobile station establishes a connection withnetworks. The embodiments are not limited to any specific communicationsystem although FIG. 1 shows a UMTS (Universal Mobile TelecommunicationsSystem) radio system as an example. As examples of other applicablecommunication systems, the following may be mentioned: Global System forMobile Communications (GSM), Wireless Local Area Network (WLAN),Worldwide Interoperability for Microwave Access (WiMAX), Bluetooth,Personal Communications Services (PCS), and systems using ultra-wideband(UWB) technology.

FIG. 1 is a simplified illustration of a communication system to whichembodiments according to the invention are applicable. FIG. 1 shows apart of a UMTS radio access network UTRAN, which is a radio accessnetwork employing wideband code division multiple access (WCDMA)technology.

In FIG. 1, a user device 100 has a bi-directional radio link 102 with abase station 106 of an UMTS network 104. The user device may be a fixedstation, or a portable station, such as a mobile phone or a portablecomputer having radio communication equipment. The user device may beequipped to operate in one or more radio communication systems, evensimultaneously, in which case it is commonly referred to as a multiradiodevice. For example, the user device may be able to support not onlyUMTS, but also WLAN or Bluetooth. As an example of another radio systemthat the user device 100 supports, FIG. 1 illustrates a WLAN network116.

The base station 106 includes transceivers for providing bi-directionalradio links to user devices, which are within the operational area ofthe base station. The base station is further connected to a radionetwork controller (RNC) 108 that controls in a centralized mannerseveral base stations connected to it. The radio network controller isfurther connected to a core network 110 (CN). The core network mayinclude a mobile services switching centre (MSC), a media gateway (MGW),a GGSN (Gateway General packet radio service Support Node), a servingGPRS support node (SGSN), or a gateway mobile switching center (GMSC).The GMSC is responsible for delivering traffic between fixed telephonynetworks, such as PSTN (Public Services Telephony Network) and UMTS, andthe GGSN is responsible for switching traffic between packet datanetworks, such as the Internet and the UMTS network.

FIG. 2 shows one embodiment of a method. In the embodiment, the methodof FIG. 2 is seen from the perspective of a user device, such as amobile phone. The method of FIG. 2 is suitable for use in a networkstructure that includes one or more of the following: a user device, oneor more intermediate devices and one or more content servers. The userdevice may be a mobile phone or a portable computer, and theintermediate device and the content servers may be mobile phones orserver computers in an Internet network, for instance. In the method,the goal of the user device is to make a connection with one or morecontents servers.

In 202, the user device provides a preliminary address. The user devicemay obtain an indicator, such as a preliminary destination address,inputted/selected by the user of the user device or by reading a matrixcode. Herein, the matrix code may mean a one-dimensional bar code or atwo-dimensional data matrix bar code or some other 2D code, forinstance. The readable object may also be something else than a datamatrix code. The indicator may be obtained by reading any form ofwaveform information, such as by reading optical, sound, electromagneticor magnetic transmission, for instance.

The code, such as a data matrix bar code, may indicate for the userdevice that the bar code includes a preliminary address, which has to beverified or updated in an intermediate device to make it a validdestination address. There may also be a plurality of intermediateservers provided, in which case the matrix code may include informationwhich intermediate server the user device should contact depending onthe time, location or language of the user device, for instance. Forexample, the matrix code may include information that the user deviceshall contact intermediate server IS-1 from 8 am to 4 pm, IS-2 from 4 pmto 12 pm and IS-3 at other times. Upon reading the matrix code, the userdevice may then check the time and branch its request to differentintermediate servers depending on the time.

The user device may also branch its request on the basis of the languageused in the user device. For instance, if the user of the user devicehas set French as the language used in the device, the intermediatedevice may primarily provide content servers that provide the servicethat the user wants in French. Or the intermediate server may provideone or more content servers, which are located in France, on the basisof the information that the user device has French as the language setup in the device. In these embodiments, the user device transmits theinformation of the language used in the device to the intermediatedevice.

The intermediate device may be identified by an IP address, forinstance. The user device may obtain the IP address of the intermediatedevice by reading the matrix code. Additionally, the user device mayobtain a preliminary address of a content server by reading the matrixcode. In 204, the user device may then transmit the preliminary addressof the content server to an intermediate device. The preliminary addressmay be in the form of an IP address or in text format indicating thename of the content server, for instance. Together with the preliminaryaddress, the user device may provide the intermediate server with thetime or location of the user device. The user device may determine itslocation by way of the GPS (Global Positioning System) or by a serviceprovided by a mobile network, for instance.

Thus, in a simplest case, the user device obtains a preliminary addressby reading a matrix code from a magazine, for instance, and transmitsthe preliminary address to an intermediate device indicated by thematrix code. In a more complex scenario, the matrix code (or some otherinformation source) provides the user device with a hopping sequence.The hopping sequence may define a plurality of intermediate servers thatthe user device should contact in an order determined by the hoppingsequence. For instance, the hopping sequence may instruct the userdevice how to hop between five servers such that the server is changedevery minute.

When the method is seen from the perspective of the user device, in 206the user device receives a destination address from the intermediatedevice. The destination address may be in the form of an IP address, forinstance. In the simplest case, the user device receives the destinationaddress once. In another embodiment, the user device receives a primarydestination address and one or more alternative addresses. The one ormore alternative addresses may be taken into use if the preliminarydestination address is unavailable. In another case, the user device mayuse the primary destination address and one or more alternativedestination addresses according to a hopping sequence provided by theintermediate device. For example, the intermediate device may providethe user device with the addresses of three content servers and ahopping sequence to change the active content server every second. Thisway, a very secure system for transmitting information is provided andtracking the traffic between the user device and the plurality ofcontent servers becomes very difficult.

In 208, the data transmission between the user device and one or morecontent servers is activated. It should be noted that the contentservers do not need to be in the same network. The user device may becapable of operating with a GSM, WLAN, Bluetooth and Internet network.Thus, the user device may receive as instruction from the intermediateserver that information should be retrieved from three content servers,one in the Internet, one WLAN and one GSM/GPRS device. The device may bea multiradio device which may simultaneously have several radioconnections active in different radio systems.

The data transfer between the user device and one or more contentsserver may be take place until the user device has completed its serviceneed.

FIG. 3 shows an embodiment of a method as seen from the perspective ofan intermediate server.

In 302, the intermediate server receives a service request from a userdevice. The service request may include an indicator corresponding to acontent server the user device wants to use. Additionally the requestmay include data, such as location of the user device or the time. Theintermediate server may also check the time itself.

In 304, the intermediate server provides one or more destinationaddresses. For mapping a preliminary address received from the userdevice to a destination address, the intermediate server may use alook-up table or a database table, for instance. Changing a preliminaryaddress to a destination address may thus correspond to the steps oflocating the position of the preliminary address in the lookup table andreading the corresponding destination address in the table. The lookuptable may also contain other information, such as a hopping sequence,which should be selected in the case of a certain preliminary address,which was received from the user device. The hopping sequence mayinclude a plurality of content servers that the user device shalladdress and the time intervals of addressing the content servers.

In 306, the intermediate server provides the user device with the datathat is needed to route the user device to one or more such addresses ofthe content servers that a service request may be completed at the userdevice. The information may also include one or more radio systems thatneed to be accessed by the user device. For instance, the instructionssent to the user device may include information that during the firstminute the user device shall use a WLAN contents server for downloadingdata, and the next minute the user device shall continue downloading ofdata in a GPRS network.

In an embodiment, the intermediate server provides the user device withdestination information only once when requested by the user device. Inthis embodiment, the connection between the user device and intermediatedevice may be disconnected after the user device has received thedestination information it needs.

In another embodiment, the connection between the user device and theintermediate device may be maintained for a longer time. That is, theintermediate device may transmit destination information often duringthe time the user device needs to have a connection with one or morecontent servers. However, also in this embodiment, the user databypasses the intermediate server, and the intermediate server has nocontrol over the data that is transmitted between the user device andone or more content servers.

FIG. 4 shows one embodiment of an arrangement and the relevant devicesthereof. In the figure, three main entities have been illustrated, auser device 400, two intermediate devices 430 and 438, and three contentservers 440, 442 and 444. FIG. 4 also shows a reading object 420, whichmay be a matrix code or some other information source, which specifiesinformation contents of the interest to the user. The informationcontents may, for instance, offer the user of the device the possibilityto browse the stock markets, download a piece of music, buy a ticket orpay a bill.

The following describes functionalities required by the differententities. FIG. 4 does not show, for the sake of clarity, all theinteractions between the modules of the entities but it is understoodthat the modules may interact in many ways with each other.

The user device includes a reading module 408 for reading an informationsource 420. The reading module may be understood to include a camera andkeyboard of a mobile phone, for instance. The read information isconveyed to an address processing module 402. The address processingmodule 402 may process the information read by the reading module suchthat a preliminary address is obtained. The processing module may theninteract with an intermediate server 430. The address processing modulereceives a destination address and one or more alternative addresses. Adestination address may be conveyed several times when the user deviceis active using one or more contents servers.

The user device further includes a control unit 404 for controllingdifferent functions in the user device. For instance, the control unitmay control actions, which the user executes in the user interface 406,such that they result in the desired action at the user device. Thecontrol unit may also control delivery of destination/alternativeaddresses to a service unit 410. The service unit may be responsible forcoordinating the service function that the user desires to execute. Thefunction unit 412 may provide the service unit 410 with neededinformation, such as time or location of the device.

FIG. 4 shows two intermediate devices 430 and 432. The user device 400may be in connection with these according to a scheme that is determinedby the reading object 420. The reading object may define that the userdevice should connect to IS-1 when within area AREA-1, whereas when theuser device is within AREA-2 distinct from AREA-1, is should requestaddress information from IS-2.

For simplicity, FIG. 4 only shows the functionality of IS-1 in moredetail but the functionality of IS-2 may be assumed to be similar.

IS-1 includes a mapping module 432, which maps the preliminary addressreceived from a user device to a destination address. In an embodiment,the mapping means simply reading an IP-address that corresponds to an IPaddress or a service provider name corresponding to the destinationaddress received from the user device. The mapping procedure may be doneby using a database 434 or lookup table in an intermediate server 430.In another embodiment, the received request from the user device mayinclude several other parameters, such as the location of the userdevice, for instance. The database may include a plurality of recordsrelated to a preliminary address provided by the user device, whichrecords may be related to different moments of time or differentlocations of the user device. The database may also include a hoppingsequence, which the user device should use in case of a particularpreliminary destination address. FIG. 4 also shows a function module436, which may provide information, such as time, if needed by themapping module 432.

FIG. 4 also shows another intermediate server 438. The user device mayuse either of the intermediate servers depending on the informationcontained in the reading object 420. The information in the readingobject may also be used together with location and/or time informationto decide which server the user device should contact for receivingaddress information of the service provider.

FIG. 4 also shows three content servers 440 to 444. The service unit 410may branch to one of the servers according to the destinationinformation. The complete service required by the user device may beobtained by using one server, such as CS-1. Alternatively, the userdevice may fetch a portion of data from each of the content servers 440to 444. In an embodiment, the user device may continuously togglebetween the content servers 440 to 444 according to a hopping sequenceprovided by one or more intermediate servers 430, 432. There may thus bea predetermined set of content servers, between which the user deviceshall hop during the use of the service. In an embodiment, theintermediate server feeds the user device continuously or periodicallywith destination addresses, which the user device should use.Alternatively, the intermediate server provides the user device with aset of destination addresses only once and also provides an instructionhow to hop between the destination addresses.

In an embodiment, the user device may retrieve the data from any of thecontent servers. In this case the user device may prefer to use one ofthe destination addresses and then use one of the alternative addressesif the preferred destination address is not available for some reason.

The interfaces in FIG. 4 may be radio interfaces or fixed interfaces ora combination of both. For example, if server 430 is an Internet serverand the user device is a mobile phone, the interface between themrequires the use of both a radio interface and a packet data connectionprovided by the mobile phone network and the Internet.

The contents server 440 to 444 may be mutually synchronized and/or maybe synchronized with one or more intermediate servers. For instance, ifthe intermediate server provides a hopping sequence for changing contentserver periodically every second, the content servers may need to besynchronized with the intermediate server. However, even if a hoppingsequence is provided, the contents server need not necessarily besynchronized. Furthermore, the user device may be connected to aplurality of content servers simultaneously, which may be the case in amultiradio device, for instance.

In an embodiment, the functionality disclosed above is used for paying abill. The user of a mobile phone reads a matrix code printed on apaper-form bill. The matrix code includes information of the sendercompany of the bill, who also receives the money paid by the user. Theuser device sends the information, which need not necessarily be an IPaddress but may also be a name of the company in text format, to anintermediate device. The address request or indicator may also indicatethat the question is of a bill, and information of the bank in which theuser of the user device has a bank account.

On the basis of the request by the user device, the intermediate devicenotices that the question is of a bill, and provides a bank address as aresponse to the indicator provided by the user device. The user devicereceives the address of the bank, that is a destination address. Uponreception of the destination address, the user device may perform someother functionality related to the paying of the bill. For instance, theuser device may take a user name and a password from the user as inputbefore connecting to the web-site of the bank. When the user device hasreceived the data from the user, the device may proceed directly topaying of the bill in the bank. The paying may then proceedautomatically so far that the user needs only to either accept or refusethe paying of the bill and if the user accepts the bill, the bill ispaid from the account of the user.

The embodiments provide several advantages. If the above payment exampleis considered, the operator of the network has no possibility to chargeof the use of the service anything beyond a normal fixed or data amountbased charge. That is, currently corresponding services are implementedin a GSM system as an SMS (Short Message Service) service. The operatormay in some cases charge a substantial portion of the cost paid by theuser. The added value provided by the operator in the service is thatbilling may be included into a telephone bill.

The embodiments also provide the advantage that data transfer betweenthe user device and the content server is not dependent on theoperational status of the intermediate server. For instance, if theintermediate server is not functional due to a failure, the datatransfer between a user device and content server may continue normally.

In an embodiment, there is provided a user device comprising a readingmodule configured to read an indicator, wherein the user device alsocomprises a transmitting unit configured to transmit the indicator to anintermediate device, a receiving unit configured to receive from theintermediate device one or more destination addresses formed on thebasis of the indicator, and a connecting unit configured to connect theuser device to one or more destination addresses. The user device may bea mobile phone and the reading module may be a camera of the phone. Theindicator may be a 2D matrix code, which includes a preliminarydestination address. The preliminary destination address may be a5-digit number, for instance. The user device sends the indicator to anintermediate device, which may a server connected to the Internet. Theserver provides one or more destination addresses, which the user devicemay connect to. The destination addresses may be in the form of Internethttp-addresses, for instance.

In an embodiment, there is provided a user device, wherein theconnecting unit is configured to connect the user device to one or moredestination addresses such that user data transferred between theoriginating device and a destination device at the destination addressbypasses the intermediate device. Thus, the user data may be transmitteddirectly between the user device and a content server at a destinationaddress.

The destination addresses may change on the basis of the time of theday, the location of the device or the language used in the user device.

In an embodiment, there is provided a user device, wherein the receivingunit is configured to receive new destination addresses several timesduring a service function carried out by the user device. Thus, during aservice used by the user device, the user device may be provided withnew and changing destination addresses. The group of destinationaddresses may also be small, and change periodically. For instance, theuser device may toggle between three content servers and change theserver each 10 seconds.

In an embodiment, there is provided a user device, comprising aprocessing unit configured to provide a sub-indicator, wherein theconnecting unit is configured to connect the originating device only toa destination address complying with the sub-indicator. Thesub-indicator may be either provided in a matrix code or it may beprovided by the user device. For example, the sub-indicator may be thatthe user of the user device is interested in items costing less than10,000 euros. The matrix code contains as a preliminary address(indicator) a group of cars. When these two pieces of information arecombined, the user device may search cars below the price of 10,000euros. The intermediate device provides such destination addresses.Alternatively, the intermediate device provides a group of destinationaddresses only with limitation “cars”, and the user device adds theprice criterion for the communication between the user device and acontent server. The user device may then ask a content server if itcontains any cars under 10,000 euros, and if it does, it provides theuser device with the information.

In an embodiment, there is provided a network element, comprising acoordinating unit configured to coordinate destination devices atrespective destination addresses such that each destination deviceprovides a service content at the moment of time indicated by thecoordinating unit. This means that the intermediate server provides asequentially changing group of content servers, between which the userdevice should toggle. The intermediate device may send to the userdevice the exact moments when it should contact each content server. Thecontent servers may also be coordinated by the intermediate server suchthat each of the content servers opens itself for reading only at thetime when the user device is about to read said content server. Theintermediate device thus coordinates the reading operation of the userdevice and opening for reading of the content servers so that they aremutually synchronised.

The functionality disclosed in the various embodiments may beimplemented by way of a computer program product encoding a computerprogram of instructions for executing a computer process of the methoddescribed above. The computer program product may be implemented on acomputer program distribution medium. The computer program distributionmedium may be any known software distribution medium, such as a computerreadable medium, a program storage medium, a record medium, a computerreadable memory, a computer readable software distribution package, acomputer readable signal, a computer readable telecommunication signal,or a computer readable compressed software package. Alternatively, partof the functionality may be implemented by hardware, such as ASIC(Application Specific Integrated Circuit) or by a combination ofhardware and software.

The embodiments are not, however, restricted to the system given as anexample but a person skilled in the art may also apply the solution toother communication systems provided with the necessary properties.

The invention claimed is:
 1. A method of controlling a connection,comprising: reading an indicator in an originating device; transmittingthe indicator to an intermediate server; connecting the originatingdevice to a content server in the group of content servers such that thecontent server to be used is changed several times during a servicefunction carried out by the originating device, wherein the intermediateserver has a continuous connection with the originating device and theintermediate server coordinates the connecting of the originating deviceto the content servers in the group of content servers, and wherein theoriginating device is connected to content servers such that user datatransferred between the originating device and the content serverbypasses the intermediate server when the continuous connection betweenthe intermediate server and the originating device is still maintainedand the intermediate server coordinates the connecting of theoriginating device to the content servers in the group of contentservers; and receiving in the originating device from the intermediateserver together with information on the group of content servers ahopping sequence, which indicates to the originating device the sequenceand time intervals of hopping between the content servers in the groupof content servers, wherein the originating device and the intermediateserver are located in a mobile phone or the originating device islocated in a mobile phone and the intermediate server is located in aninternet server.
 2. A method according to claim 1, wherein the group ofcontent servers is received in the originating device such that and anew content servers from the group of content servers are receivedcontinuously from the intermediate server.
 3. A method according toclaim 1, wherein the one or more content servers are determined on thebasis of the indicator and the time of the day.
 4. A user device,comprising: a reading module configured to read an indicator; atransmitting unit configured to transmit the indicator to anintermediate server; a receiving unit configured to receive from theintermediate server a group of content server addresses determined onthe basis of the indicator; and a connecting unit configured to connectthe user device to content servers in the group of content servers whichcontent server is changed several times during a service functioncarried out by the user device, wherein the receiving unit is configuredto receive together with the group of content servers information on ahopping sequence, which indicates the sequence and time intervals ofhopping between the content servers, and wherein the user device and theintermediate server are located in a mobile phone or the user device islocated in a mobile phone and the intermediate server is located in aninternet server.
 5. A user device according to claim 4, furthercomprising: a processing unit configured to determine a hopping sequencefor hopping between a plurality of intermediate servers from theindicator read by the reading module.
 6. A user device according toclaim 4, wherein the receiving unit is configured to receive, from anintermediate device new content server addresses continuously during aservice function carried out by the user device.
 7. A user deviceaccording to claim 4, wherein the receiving unit is configured toreceive new content server addresses from an intermediate devicecoordinating the connecting of the user device to the content servers.8. A user device according to claim 4, wherein the reading module isconfigured to read a two-dimensional code, the user device furthercomprising a modification module configured to form the indicator fromthe read two-dimensional code.
 9. A network element, comprising: areceiving unit configured to receive an indicator from a user device,comprising: a processing unit configured to form a group of contentserver addresses on the basis of an indicator, the group of contentservers including content servers to be used sequentially by a userdevice for retrieval of data content; and a transmitting unit configuredto transmit the group of content server addresses to the user device,wherein the processing unit is configured to provide together with thegroup of content servers a hopping sequence, which indicates thesequence and time intervals of hopping between the content servers, andwherein the user device and the network element are located in a mobilephone or the user device is located in a mobile phone and the networkelement is located in an internet server.
 10. A network elementaccording to claim 9, wherein the processing unit is configured toprovide the group of content servers on the basis of one or morecharacteristics of the user device received together with the indicator.11. A network element according to claim 9, further comprising: acoordinating unit configured to coordinate the content servers in thegroup of content servers such that each content server provides aservice content at the moment of time indicated by the coordinatingunit.
 12. A network element according to claim 9, further comprising:the transmitting unit is configured to send new content server addressseveral times during a service function carried out by the user device.13. A network element according to claim 9, wherein the network elementis located in a mobile station.
 14. A non-transitory computer readablemedium storing computer program instructions, wherein execution of thecomputer program instructions in a data processing system causes thedata processing system to perform the steps of: reading an indicator inan originating device; transmitting the indicator to an intermediateserver; connecting the originating device to a content server in thegroup of content servers such that the content server to be used ischanged several times during a service function carried out by theoriginating device, wherein the intermediate server has a continuousconnection with the originating device and the intermediate servercoordinates the connecting of the originating device to the contentservers in the group of content servers, and wherein the originatingdevice is connected to content servers such that user data transferredbetween the originating device and the content server bypasses theintermediate server when the continuous connection between theintermediate server and the originating device is still maintained andthe intermediate server coordinates the connecting of the originatingdevice to the content servers in the group of content servers; andreceiving in the originating device from the intermediate servertogether with the group of content servers a hopping sequence, whichindicates to the originating device the sequence and time intervals ofhopping between the content servers in the group of content servers,wherein the originating device and the intermediate server are locatedin a mobile phone or the originating device is located in a mobile phoneand the intermediate server is located in an internet server.